From: Keir Fraser Date: Wed, 3 Sep 2008 13:16:35 +0000 (+0100) Subject: x86: Fix guest_handle_okay/guest_handle_subrange_okay X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14111^2~50 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=ad2a1f8b665f8cfcfcd92f22921788c8956d0d84;p=xen.git x86: Fix guest_handle_okay/guest_handle_subrange_okay The guest handle checks should use paging_* predicates, not shadow_*. Also tidy up a few places where p2m definitions were being imported via asm/guest_access.h -> asm/shadow.h -> asm/p2m.h Signed-off-by: Tim Deegan --- diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 10d0cef7c6..9f2746910b 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -40,7 +41,6 @@ #include #include #include -#include #include #include #include diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c index d4388a6669..fffe954083 100644 --- a/xen/arch/x86/domain_build.c +++ b/xen/arch/x86/domain_build.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c index 8f1df3ed94..9740a7083b 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 4b58db1d67..14dda4f1b0 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -31,10 +31,11 @@ #include #include #include +#include +#include #include #include #include -#include #include #include #include diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c index 149efbb8cf..2556a6ea9e 100644 --- a/xen/arch/x86/mm/hap/hap.c +++ b/xen/arch/x86/mm/hap/hap.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 75b9e44be3..f7fdb4d1f2 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -47,7 +47,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/xen/include/asm-x86/guest_access.h b/xen/include/asm-x86/guest_access.h index 8b6722b60c..ab9cb752c0 100644 --- a/xen/include/asm-x86/guest_access.h +++ b/xen/include/asm-x86/guest_access.h @@ -8,7 +8,7 @@ #define __ASM_X86_GUEST_ACCESS_H__ #include -#include +#include #include #include @@ -87,10 +87,10 @@ * Allows use of faster __copy_* functions. */ #define guest_handle_okay(hnd, nr) \ - (shadow_mode_external(current->domain) || \ + (paging_mode_external(current->domain) || \ array_access_ok((hnd).p, (nr), sizeof(*(hnd).p))) #define guest_handle_subrange_okay(hnd, first, last) \ - (shadow_mode_external(current->domain) || \ + (paging_mode_external(current->domain) || \ array_access_ok((hnd).p + (first), \ (last)-(first)+1, \ sizeof(*(hnd).p)))